package Juego;

import Ice.Current;
import Interfaz.InterfazJugador;
import ModJuego.JuegoServidorPrx;
import ModJuego.Turno;
import ModJuego._JuegoJugadorDisp;

public class JuegoJugadorI extends _JuegoJugadorDisp {
	private static final long serialVersionUID = 1L;
	private boolean puedoJugar = true;
	InterfazJugador interfazGraficaJugador;
	final int abandono = -3;
	boolean aux = true;

	public JuegoJugadorI(JuegoServidorPrx juego, String grupo,
			InterfazJugador inter) {
		// TODO Auto-generated constructor stub
		this.interfazGraficaJugador = inter;
	}

	@Override
	public void mensajeChat(String mensaje, Current __current) {
		// TODO Auto-generated method stub
		System.out.println(mensaje);
		interfazGraficaJugador.msgChat(mensaje);

	}

	@Override
	public boolean isPuedoJugar(Current __current) {
		return puedoJugar;
	}

	@Override
	public void setPuedoJugar(boolean puedoJugar, Current __current) {
		this.puedoJugar = puedoJugar;
		if (aux) {
			this.interfazGraficaJugador.activaBotonesVotacion();
			aux = false;
		}
	}

	@Override
	public void mensajeServer(String mensaje, Current __current) {
		// TODO Auto-generated method stub
		interfazGraficaJugador.msgServidor(mensaje);
	}

	@Override
	public void tableroPuntos(Turno[] puntos, int ronda, Current __current) {
		// TODO Auto-generated method stub
		if (ronda == abandono) {
			interfazGraficaJugador.SoyGanador();
		} else {
			interfazGraficaJugador.ActualizarTablero(puntos, ronda);
			if (ronda == 7) {
				if (puntos[8].puntosA > puntos[8].puntosB) {
					if (interfazGraficaJugador.getCliente().getGrupo()
							.equals("A")) {
						interfazGraficaJugador.SoyGanador();
					} else {
						interfazGraficaJugador.SoyPerdedor();
					}
				} else if (puntos[8].puntosA < puntos[8].puntosB){
					if (interfazGraficaJugador.getCliente().getGrupo()
							.equals("A")) {
						interfazGraficaJugador.SoyPerdedor();

					} else {
						interfazGraficaJugador.SoyGanador();
					}
				} else {
					interfazGraficaJugador.Empate();
				}
			}
		}
	}
}
